﻿#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
////测试无const的场景
//void test1()
//{
//	int n = 10;
//	int m = 10;
//	int* p = &n;
//	*p = 20;
//	p = &m;
//}
//
//void test2()
//{
//	int n = 10;
//	int m = 10;
//	const int* p = &n;
//	*p = 20;
//	p = &m;
//}
//
//void test3()
//{
//	int n = 10;
//	int m = 10;
//	int* const p = &n;
//	*p = 20;
//	p = &m;
//}
//
//void test4()
//{
//	int n = 10;
//	int m = 10;
//	const int* const p = &n;
//	*p = 20;
//	p = &m;
//}
//
//int main()
//{
//	//测试无const的场景
//	test1();
//	
//	//代码2 - 测试const放在*的左边情况
//	test2();
//
//	//代码3 - 测试const放在*的右边情况
//	test3();
//
//	//代码4 - 测试两边都有const
//	test4();
//}

//#include <assert.h>
//
//int my_strlen(const char* str)
//{
//	assert(str);
//	int count = 0;
//	while (*str)
//	{
//		count++;
//		str++;
//	}
//	return count;
//}
//
//int main()
//{
//	//char* p1 = NULL;
//	char p2[20] = { 0 };
//	gets(p2);
//	//int ret1 = my_strlen(p1);
//	int ret2 = my_strlen(p2);
//	//printf("%d\n", ret1);
//	printf("%d\n", ret2);
//}

//int main()
//{
//	int n = 9;
//	float* pfloat = (float*)&n;
//	printf("n的值为: %d\n", n);
//	printf("*pfloat的值为：%f\n", *pfloat);
//	*pfloat = 9.0;
//	printf("n的值为: %d\n", n);
//	printf("*pfloat的值为：%f\n", *pfloat);
//}